<?php
class Notificacion extends CI_Controller
{
    function __construct()
    {
        // Call the Model constructor
        parent::__construct();
        if ($sessionData = $this->session->userdata('datosUser')) {
            $this->lang->load($sessionData['idioma'], $sessionData['idioma']);
            $this->clear_cache();
        } else {
            redirect('frontend/login/login');
        }
    }

    function clear_cache()
    {
        $this->output->set_header("Cache-Control: no-store, no-cache, must-revalidate, no-transform, max-age=0, post-check=0, pre-check=0");
        $this->output->set_header("Pragma: no-cache");
    }

    /**
     * Carga la página principal del módulo notificación.
     */
    function index()
    {
        $sessionData = $this->session->userdata('datosUser');
        $this->load->model('backend/notificacion/mnotificacion');
        $data['notificaciones'] = $this->mnotificacion->obtenerMensajes($sessionData['idCliente']);
        $this->cargamenu->cargaTodo("backend/notificacion/notificacion", $data);
    }

    /**
     * Carga la página para leer una notificación.
     *
     * @param int idNotificacion
     */
    function leer($idNotificacion)
    {
        $this->load->model('backend/notificacion/mnotificacion');
        $data['notificacion'] = $this->mnotificacion->leerNotificacion($idNotificacion);
        $this->cargamenu->cargaTodo('backend/notificacion/leer', $data);
    }

    /**
     * Borra una notificación leída.
     *
     * @param int idNotificacion
     */
    function borrar($idNotificacion)
    {
        $this->load->model('backend/notificacion/mnotificacion');
        $this->mnotificacion->borrarNotificacion($idNotificacion);
        redirect('backend/notificacion/notificacion');
    }

    /*
     * Borra o marca como leidas las notificaciones marcadas
     */
    function accion()
    {
        $this->load->model('backend/notificacion/mnotificacion');
        if ($this->input->post('marcado') !== false) { //compruebo si se ha marcado alguna notificacion
            if ($this->input->post('accion') == "borrar") {
                foreach ($this->input->post('marcado') as $idNotificacion) {
                    $this->mnotificacion->borrarNotificacion($idNotificacion);
                }
            } else {
                foreach ($this->input->post('marcado') as $idNotificacion) {
                    $this->mnotificacion->leerNotificacion($idNotificacion);
                }
            }
        }
        $this->index();
    }
}